package com.weixing.mall.provider.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.weixing.mall.base.constant.DatePattern;
import com.weixing.mall.base.enums.WhetherEnum;
import com.weixing.mall.provider.api.model.enums.OrderTypeEnum;
import com.weixing.mall.provider.model.enums.OrderFromEnum;
import com.weixing.mall.provider.model.enums.OrderFrontStateEnum;
import com.weixing.mall.provider.model.enums.OrderStateEnum;
import com.weixing.mall.provider.model.enums.ProductStatusEnum;
import lombok.Data;

import java.util.Date;

/**
 * 订单详情
 *
 * @author  gjq
 * @date  2019/11/28
 * @since  1.0
 **/
@Data
public class FrontAgentOrderDetilsVo {

    /**
     * 商品图片
     */
    private String goodsImg;

    /**
     * 货号
     */
    private String goodsSn;

    /**
     * 商品id
     */
    private Long goodsId;

    /**
     * 配送方式
     */
    private String expressName;

    /**
     * 快递单号
     */
    private String expressSn;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * sku
     */
    private String productSkuDesp;

    /**
     * 订单类型
     */
    private OrderTypeEnum orderType;


    /**
     * 订单来源
     */
    private OrderFromEnum orderFrom;

    /**
     * 订单金额
     */
    private Double orderPrice;
    /**
     * 实付金额
     */
    private Double actualPrice;
    /**
     * 订单编号
     */
    private String orderSn;

    /**
     * 订单识别码
     */
    private String identificationCode;

    /**
     * 下单时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern= DatePattern.NORM_DATETIME_PATTERN)
    private Date createdTime;

    /**
     * 更新时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern= DatePattern.NORM_DATETIME_PATTERN)
    private Date updatedTime;
    /**
     * 订单状态
     */
    private OrderStateEnum orderStatus;

    /**
     * 用户看到的订单状态
     */
    private OrderFrontStateEnum frontOrderStatus;

    /**
     * 下单人
     */
    private String buyer;

    /**
     * 联系人
     */
    private String contactUser;
    /**
     * 联系人手机号
     */
    private String contactPhone;
    /**
     * 详细地址
     */
    private String addrDetail;
    /**
     * 省
     */
    private String province;
    /**
     * 市
     */
    private String city;
    /**
     * 区
     */
    private String region;


    /**
     * 所属代理
     */
    private String agentName;
    /**
     * 代理id
     */
    private Long agentId;
    /**
     * 活动昵称
     */
    private String actName;
    /**
     * 活动id
     */
    private Long actId;
    /**
     * 代理手机号
     */
    private String mobile;
    /**
     *
     */
    private Long parentId;
    /**
     *
     */
    private String parentName;

    /**
     * 折扣
     */
    private Double discount;
    /**
     * 活动折扣
     */
    private Double actDisconut;

    /**
     * 需上交款
     */
    private String needPay;

    /**
     * 需收款
     */
    private String needReceive;

    /**
     * 订单收益
     */
    private String profit;

    /**
     * 上交人
     */
    private String payer;
    /**
     * 收款人
     */
    private String receivor;

    /**
     * 代理看到的状态
     */
    @JsonIgnore
    private Integer appTag;
    /**
     * 代理看到的状态
     */
    private String orderAppTag;

    /**
     * 备注
     */
    private String remark;

    /**
     * 客户身高
     */
    private Double height;

    /**
     * 客服体重
     */
    private Double weight;

    /**
     * 是否线上订单
     */
    private WhetherEnum isOnline ;

    /**
     *代理商端标签
     */
    //private OrderAppTagEnum appTag;

    private Integer isOwn;

    /**
     * 是否换货
     */
    private WhetherEnum afterSaleTag;

    /**
     * 发货时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern= DatePattern.NORM_DATETIME_PATTERN)
    private Date shipTime;

    /**
     * 发货员名称
     */
    private String shipperName;
    /**
     * 发货员备注
     */
    private String shipperRemark;
    /**
     * 待货天数
     */
    private Integer waitDay;

    /**
     * 货品状态
     */
    private ProductStatusEnum itemStatus;

    /**
     * 商品分类
     */
    private String catName;

    /**
     * 用于二维码生成的商品码
     */
    private String commodityCode;
}
